[PR]

『新妻LOVELY×CATION』を応援しています!
水無瀬の部屋 > Programming > sample > goddess > install.h
最終更新日: 2007/03/17

   1: //*********************************************************
   2: // プロジェクト: exe2ico
   3: //   ファイル名: install.h
   4: //*********************************************************
   5: #ifndef INSTALL_HEAD_INCLUDED
   6: #define INSTALL_HEAD_INCLUDED
   7: 
   8: 
   9: //*********************************************************
  10: // ヘッダ の インクルード
  11: //*********************************************************
  12: #ifndef TOOLS_HEAD_INCLUDED     // 冗長ガード
  13: #include <tools.h>
  14: #ifndef TOOLS_HEAD_INCLUDED     // ガード名の検査
  15: #error "? TOOLS_HEAD_INCLUDED"
  16: #endif // #ifndef TOOLS_HEAD_INCLUDED
  17: #endif // #ifndef TOOLS_HEAD_INCLUDED
  18: 
  19: 
  20: //*********************************************************
  21: // マクロ定数 の 定義
  22: //*********************************************************
  23: //
  24: #define MAX_CMDLINE  ( 1024 )
  25: 
  26: // install_t::flags
  27: #define ID_OFFSET             ( 1000 ) // ID と配列の index を混同させたくない
  28: #define ID_CENTER             ( (id_t)( 0 + ID_OFFSET ) )
  29: #define ID_TILE               ( (id_t)( 1 + ID_OFFSET ) )
  30: #define ID_ZOOM               ( (id_t)( 2 + ID_OFFSET ) )
  31: #define ID_MIN                ( (id_t)min( ((size_t)ID_CENTER), ((size_t)ID_ZOOM)) )
  32: #define ID_MAX                ( (id_t)max( ((size_t)ID_CENTER), ((size_t)ID_ZOOM)) )
  33: #define ID_INDEX( id )        ( ((size_t)static_cast<id_t>(id)) - ID_OFFSET )
  34: #define IS_VALID_ID( id )     ( (((size_t)ID_MIN) <= ((size_t)static_cast<id_t>(id))) && (((size_t)static_cast<id_t>(id)) <= ((size_t)ID_MAX)) )
  35: #define IS_VALID_INDEX( idx ) ( (0 <= (idx)) && ((idx) < numof( ((install_t *)null)->reg )) )
  36: //
  37: #define INSTALL_CENTER         ( (DWORD)BIT( ID_INDEX( ID_CENTER ) ) )
  38: #define INSTALL_TILE           ( (DWORD)BIT( ID_INDEX( ID_TILE ) ) )
  39: #define INSTALL_ZOOM           ( (DWORD)BIT( ID_INDEX( ID_ZOOM ) ) )
  40: 
  41: 
  42: //*********************************************************
  43: // 構造体 の 宣言
  44: //*********************************************************
  45: // enum だと配列の添字に使えてしまう
  46: typedef const struct id_tag { void *dummy; } *id_t;
  47: 
  48: // relation_t
  49: typedef struct relation_tag
  50: {
  51: 	char regpath[ 1+MAX_REGPATH_BUF ];
  52: 	char menu[ 1+MAX_MENUTEXTLENGTH ];
  53: 	char cmdline[ 1+MAX_CMDLINE ];
  54: } relation_t;
  55: 
  56: // install_t
  57: typedef struct install_tag
  58: {
  59: 	DWORD flags; // 関連づけ
  60: 
  61: 	// reg[ ID_INDEX( ID_LNK ) ] に *.lnk の情報
  62: 	relation_t reg[ ID_INDEX(ID_MAX) - ID_INDEX(ID_MIN) + 1 ]; //
  63: } install_t;
  64: 
  65: 
  66: //*********************************************************
  67: // 関数 の 宣言
  68: //*********************************************************
  69: #ifdef __cplusplus
  70: extern "C" {
  71: #endif
  72: 
  73: 
  74: // install.cpp
  75: bool  IsValidInstallInfo( const install_t *info );
  76: bool  LoadInstallInfo( install_t *info );
  77: bool  SaveInstallInfo( const install_t *info, DWORD mask );
  78: DWORD GetModifiedFlags( const install_t *a, const install_t *b );
  79: 
  80: 
  81: #ifdef __cplusplus
  82: } // extern "C"
  83: #endif
  84: 
  85: 
  86: #endif // #ifndef INSTALL_HEAD_INCLUDED
  87: 
  88: 
  89: //** end **

参照: install.cpp, instdlg.cpp


Google
ご意見・ご感想をお聞かせ下さい。匿名で送信できます。

 * 返信が必要な場合には postmaster@katsura-kotonoha.sakura.ne.jp へ直接メールしてください。

水無瀬の部屋 > sample > goddess > install.h

このページは cpp2web が出力しました。
水無瀬 優 postmaster@katsura-kotonoha.sakura.ne.jp
http://katsura-kotonoha.sakura.ne.jp/prog/code/goddess/install_h.shtml
『新妻LOVELY×CATION』を応援しています!